Rules for Tools/Notation Mark Flags
Notation Mark Flags
Others are stored in the "mark" field.
#define NM_STRING 7 /* mask for tab string number */
/* if 0, low E string
1 = low A string
2 = D string
3 = G string
4 = B string
5 = E string
room for more strings in the future
*/
#define NM_DRAWN 8 /* bit that tells if note has yet been drawn */
#define NM_STAFF (1<<4) /* which staff: 1 = upper staff */
#define NM_TOUCHED (1<<5) /* if note has been touched, don't touch again */
#define NM_BEAM (31<<6) /* 5 bits for beam height */
#define BEAMTOINT(a) (((a)& NM_BEAM)>>6)
#define INTTOBEAM(a) (((a)<<6) & NM_BEAM)
#define CLEARBEAMBITS(a) ((a) &= ~NM_BEAM)
#define NM_SIGN (3<<11) /* two bits determine how to plot note */
#define NM_SIGN1 (1<<11)
#define NM_SIGN2 (1<<12)
#define NOSIGN 0
#define SHARP 1
#define FLAT 2
#define NATURAL 3
#define NM_NOTATED (1<<13)
#define NM_TABSET (1<<14)
#define NM_TABLOW (1<<15) /* tab note can't be notated (too low) */
#define NM_TABHIGH (1<<16) /* tab note can't be notated (too high) */